package game

import (
	"encoding/json"
	"fmt"
	"net"
	"time"
)

func TestGM() {
	// 要发送的 JSON 数据
	data := map[string]interface{}{
		"ab":  1699545600,
		"ae":  1699977600,
		"aae": 1699977600,
		"aab": 1699545600,
		"ztt": "3029",
		"pa": map[string]interface{}{
			"nam": "测试活动",
			"cid": "1",
			"dcp": "1111",
			"gr":  []interface{}{},
		},
		"id":   16712,
		"type": 156,
		"rm":   false}

	// 将 JSON 数据转换为字节数组
	payload, err := json.Marshal(data)
	if err != nil {
		fmt.Println("JSON 编码失败:", err)
		return
	}

	// 设置连接超时时间为30秒
	timeout := 30 * time.Second

	// 创建一个带超时的连接
	conn, err := net.DialTimeout("tcp", "10.16.168.54:12453", timeout)
	if err != nil {
		fmt.Println("无法连接到服务器:", err)
		return
	}
	defer conn.Close()

	// 设置写操作超时时间为30秒
	err = conn.SetWriteDeadline(time.Now().Add(timeout))
	if err != nil {
		fmt.Println("设置超时错误:", err)
		return
	}

	// 发送数据
	_, err = conn.Write([]byte(fmt.Sprintf("%s\n", payload)))
	if err != nil {
		fmt.Println("发送数据失败:", err)
		return
	}

	fmt.Println("数据发送成功")
}
